c++中,char ch[80]={0}是什么意思,{0}表示什么?

来源:百度知道 编辑:UC知道 时间:2024/05/29 03:43:41

这个,这样写表示所有的ch[]元素都初始化为0;
c++有这个语法规则,数组的初始化你知道吧?
比如:ch[3] = {'a', 'b','c'}表示3个元素都初始化了,也可以只初始化其中的几个,然后系统默认以0填充后面所有的。
这里的0不同的数组元素代表不同的东西。

比如:你这里,数组元素是char类型,于是,0代表ASSII码里面的0号元素,也就是空字符,'\0',这个你认识吧?就是一个字符串结尾的那个东西。

如果数组元素是指针的话,你给它赋一个0,表示指针为NULL,也就是空指针。

int ch[80] = {0};这个表示,所有的元素都赋值为0,是int的类型。

char ch[80]={0};
把 char 数组处理为整型数组
{0}表示整数 0, 初始化 ch[0]。

这同 char ch[80]= "\0"; 的作用相同。
"\0" 是字符串 结束符。

对比:
char ch[80]={"\0"};
printf("%d %d\n", ch[0],ch[1]);
printf("%s ", ch);
和:
char ch[80]={0};
printf("%d %d\n", ch[0],ch[1]);
printf("%s ", ch);

run 一下 就知道效果一样。

其真正含义其实是初始化数组所有元素为零。

这个表示
初始化数组ch[80] 的第一元素为0。